const { DataTypes } = require('sequelize');

module.exports = sequelize => {
  return sequelize.define('Book', {
    bookName: { // 书名
      type: DataTypes.STRING,
      allowNull: false // 将allowNull设置为false会将NOT NULL添加到列中(即不允许为null)
    },
    bookCode: { // 用户id
      type: DataTypes.UUIDV4,
      primaryKey: true // 主键
    },
    userId: {
      type: DataTypes.UUIDV4
    },
    creatTime: { // 创建时间
      type: DataTypes.BIGINT,
      defaultValue: () => {
        return Date.now()
      }
    },
    updateTime: { // 更新时间
      type: DataTypes.BIGINT,
      defaultValue: () => {
        return Date.now()
      }
    }
  }, {
      // 不添加时间戳属性 (updatedAt, createdAt)
      timestamps: false,
      // 禁用修改表名; 默认情况下，sequelize将自动将所有传递的模型名称（define的第一个参数）转换为复数。
      freezeTableName: true
    })
}